package com.gl.glcourses.model
{
	import com.gl.glcourses.events.GLCoursesEvent;
	import com.gl.glcourses.vos.EdicionCurso;
	import com.gl.glcourses.vos.EstadoEdicionCurso;
	import com.gl.glcourses.vos.EstadoParticipante;
	import com.gl.glcourses.vos.TipoParticipante;
	import com.gl.glcourses.vos.Usuario;
	import com.gl.glcourses.vos.Confirmacion;
	import com.gl.glcourses.model.constants.Constants;
	
	import flash.events.MouseEvent;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	
	public class InscripcionCursoPanelModel extends PresentationModel
	{
		
		[Bindable]
		public var edicionesCursos:ArrayCollection;
		
		private var _usuarioLogeado:Usuario;
		
		[Bindable] 
		public var usuariosPM:ArrayCollection;
		[Bindable] 
		public var pmSeleccionado:Usuario;
		
		[Bindable]
		public function get usuarioLogeado():Usuario
		{
			return _usuarioLogeado;
		}
		
		public function limpiarSegunConfirmacion( confirmacion:Confirmacion ):void {
			if( confirmacion.estado == Constants.CONFIRMACION_OK ){
				//limpiar();
			}
		}
		
		public function set usuarioLogeado(value:Usuario):void
		{			
			
		    _usuarioLogeado = value;

			pmSeleccionado = null;
			if(_usuarioLogeado.manager != null){
			
				for each( var searchUsuarioPm:Usuario in usuariosPM )
				{
					if( searchUsuarioPm.nombre.localeCompare( _usuarioLogeado.manager.nombre ) == 0 )
						pmSeleccionado = searchUsuarioPm;
				}
			}
		
		}
		/*public function button1_clickHandler(eventMouse:MouseEvent):void
		{
			var event:GLCoursesEvent = new GLCoursesEvent( GLCoursesEvent.BUSCAR_EDICIONESCURSOS );
			event.edicionCursoEstado = EstadoEdicionCurso.PUBLICADO;
			
			dispatch( event );
		}*/
		
		
		public function inscribirAEdicionCursoModel(edicionCursoSeleccionado:EdicionCurso):void
		{
			//if(validar(edicionCursoSeleccionado)){
				
				var event:GLCoursesEvent = new GLCoursesEvent(GLCoursesEvent.INSCRIBIR_PARTICIPANTE);
				event.usuarioLogeado = this.usuarioLogeado;
				event.tipoParticipante = TipoParticipante.ALUMNO;
				event.estadoParticipante = EstadoParticipante.PENDIENTE_APROBACION;
				event.edicionCursoSeleccionado = edicionCursoSeleccionado;
				dispatch(event);
			//}
		}
		
		public function validar(edicionCursoSelec:EdicionCurso):Boolean
		{
			if(edicionCursoSelec != null){
				
				return true;
				
			}else{
				
				return false;
			}
		}
		
		public function InscripcionCursoPanelModel()
		{
		}
	}
}